package com.zw.javaClass;


import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.util.List;

import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.stereotype.Component;

import com.zw.entity.Commodity;

@Component
public class Test1 {

	public byte[] CreateExcel(List<Commodity> list) throws IOException{
		//创建一个工作簿
		XSSFWorkbook workBook =new XSSFWorkbook();

		//创建一个工作表，名为：第一页
		XSSFSheet sheet =workBook.createSheet("第一页");

		//设置单元格的宽度(0:表示第一行的第一个单元格，1：第一行的第二个单元格)
		sheet.setColumnWidth((short)0, 2500);
		sheet.setColumnWidth((short)1, 5000);

		//创建一个单元格，从0开始
		XSSFRow row =sheet.createRow((short)0);

		//构造一个数组设置第一行之后的单元格
		XSSFCell cell[] =new XSSFCell[5];

		for(int i=0 ;i <5 ;i++){
			cell[i] =row.createCell(i);
		}
		cell[0].setCellValue("ID");
		cell[1].setCellValue("Name");
		cell[2].setCellValue("Count");
		cell[3].setCellValue("TypeId");
		cell[4].setCellValue("Price");

		if(list !=null && list.size() >0){

			//循环list中的数据
			for(int i =0;i<list.size();i++){

				Commodity commodity =list.get(i);
				XSSFRow dataRow =sheet.createRow(i +1);
				XSSFCell data[] =new XSSFCell[5];

				for(int j= 0;j < 5 ; j++){
					data[j] =dataRow.createCell(j);
				}
				data[0].setCellValue(commodity.getCommodityid());
				data[1].setCellValue(commodity.getCommodityname());
				data[2].setCellValue(commodity.getCommoditycount());
				data[3].setCellValue(commodity.getCommoditytypeid());
				data[4].setCellValue(commodity.getCommodityprice().doubleValue());

				ByteArrayOutputStream byteArrayOutputStream=new ByteArrayOutputStream();
				ObjectOutputStream oo=new ObjectOutputStream(byteArrayOutputStream);
				oo.writeObject(workBook);
				
				return byteArrayOutputStream.toByteArray();
				
			}
			return null;
		}
		return null;

	}
}
